iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0

Kotlin 宣告變數的方法

val: Value,似 Java 中 Final的用法,即當第一次賦值後,即無法再變更其值。
var: Variable,顧名思義就是變數,真的可以變的數,當確定之後還會對此變數賦予其他值。


剛剛有提到,Kotlin 有一優點就是可以減少程式碼,如果一個簡單的加法還要寫這麼多,需要把這一優點拿出來放大、說嘴?!
這邊先淺談一下 expression、statement 。
expression : 表示式,會有自己的值(Value),可以用在另一個 expression 裡面。
statement : 沒有自己的值(Value)。

Kotlin 中除了 for、do、do/while 以外,都是expression。
從以上得知 a + b 為一 expression ,故原先程式碼可以省略掉變數C,簡寫為以下。

fun add(a: Int , b: Int): Int {
  return a + b
}

這樣的簡寫,夠了嗎?
我是覺得還不夠啦,我們繼續看一下如何再繼續簡化程式碼。
Kotlin 中,如果主體由單一表示式構成,則我們可以簡化成 expression body。

fun add(a: Int, b: Int): Int = a + b

而在 function 後有個等號,即表示該 function 具有回傳值,所以我們也可以將 ": Int" 省略,可能到這邊會有疑惑,那型態呢?

若將": Int"省略,那回傳的型態該如何界定?

答案是從參數裡判斷,如果我們對參數的型態可以很明確的定義或控制,以這個例子來說, a、b 型態皆為整數,那整數相加必定為整數,固可以將回傳型態省略掉。

所以最後省略的結果為以下。

fun add(a: Int, b: Int) = a + b

或許現在看起來沒什麼感覺,只是從四行程式碼變成一行而已,但若是大型專案在執行,動輒好幾千甚至萬行 code ,這一點點的省略累積起來可是拯救無數鍵盤的生命阿!


上一篇
[Day 1] Kotlin 語法 - 函式
下一篇
[Day 3] Kotlin 語法 - 類別 ( Class )
系列文
Android心得筆記×Kotlin語法初探 不是新手村 是嬰兒村30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言